<template>
	<view class="container">
		<scroll-view scroll-y class="left-aside sp">
			<view v-for="item in flist" :key="item.id" class="f-item b-b" :class="{active: item.id === currentId}" @click="tabtap(item)">
				{{item.name}}
			</view>
		</scroll-view>
		<scroll-view scroll-with-animation scroll-y class="right-aside sp" :scroll-top="tabScrollTop">
			<view v-for="item in slist" :key="item.id" class="s-list" :id="'main-' + item.id">
				<text class="s-item">{{item.name}}</text>
				<view class="t-list">
					<view @click="navToList(subItem.id)" class="t-item" v-for="subItem in item.threeList" :key="subItem.id">
						<image :src="subItem.picture"></image>
						<text>{{subItem.name}}</text>
					</view>
				</view>
			</view>
		</scroll-view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				sizeCalcState: false,
				tabScrollTop: 0,
				currentId: 1,
				flist: [],
				slist: [],
				tlist: [],
				rawData: []
			}
		},
		onLoad(option) {
			this.loadData(option.category)
		},
		methods: {
			loadData(category) {
				this.$api.request('/categoty/getTotal', {}, {
					method: 'GET'
				}).then(res => {
					this.currentId = res.data[0].id
					let temp = res.data.filter(item => {
						return item.name == category && item.id
					})
					if (temp[0]) {
						this.currentId = temp[0].id
					}
					this.rawData = res.data
					this.flist = res.data
					this.slist = res.data[0].twoList
				})
			},
			//一级分类点击
			tabtap(item) {
				this.currentId = item.id
				this.slist = item.twoList
				this.tabScrollTop = this.tabScrollTop === 0 ? 1 : 0
				console.log(this.slist)
			},
			navToList(id) {
				uni.navigateTo({
					url: `/pages/product/list?id=${id}`
				})
			},
		}
	}
</script>

<style lang='scss'>
	page,
	.container {
		height: 100%;
	}

	.container {
		display: flex;
	}

	.left-aside {
		flex-shrink: 0;
		width: 200upx;
		height: 100%;
		background-color: #fff;
	}

	.f-item {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100upx;
		font-size: 28upx;
		color: $base-color-base;
		position: relative;

		&.active {
			color: $base-color-page;
			background: #f8f8f8;

			&:before {
				content: '';
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
				height: 36upx;
				width: 8upx;
				background-color: $base-color-page;
				border-radius: 0 4px 4px 0;
				opacity: .8;
			}
		}
	}

	.right-aside {
		flex: 1;
		overflow: hidden;
		padding-left: 20upx;
	}

	.s-item {
		display: flex;
		align-items: center;
		height: 70upx;
		padding-top: 8upx;
		font-size: 28upx;
		color: $base-color-dark;
	}

	.t-list {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		background: #fff;
		padding-top: 12upx;

		&:after {
			content: '';
			flex: 99;
			height: 0;
		}
	}

	.t-item {
		flex-shrink: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		width: 176upx;
		font-size: 26upx;
		color: #666;
		padding-bottom: 20upx;

		image {
			width: 140upx;
			height: 140upx;
		}
	}
</style>
